;; Test 1: Basic counter (from requirements)
(define counter 0)

(define (bump-counter)
    (set! counter (+ counter 1))
    counter)

(display "Test 1: Basic counter")
(newline)
(bump-counter)
(bump-counter)
(bump-counter)
(newline)

;; Test 2: Nested functions
(define x 10)

(define (outer)
  (define (inner)
    (set! x (+ x 5))
    x)
  (inner))

(display "Test 2: Nested functions")
(newline)
(outer)
(outer)
(newline)

;; Test 3: Multiple variables
(define a 1)
(define b 2)

(define (swap)
  (define temp a)
  (set! a b)
  (set! b temp))

(display "Test 3: Variable swapping")
(newline)
(display "Before swap: a=")
(display a)
(display " b=")
(display b)
(newline)
(swap)
(display "After swap: a=")
(display a)
(display " b=")
(display b)
(newline)